package com.lhc.service.util;

/**
 * 类描述：返回到前台的状态常量接口
 *
 * @author liuhaichao
 */
public interface FrontStatusConstants {

	/**
	 * 通用：-999到99
	 */
	public enum Common implements FrontStatusConstants {

		SYSTEM_ERROE("-999", "系统异常"),
		BREAK_DOWN("0", "失败"),
		SUCCESS("1", "成功"),
		NULL_TOKEN("13", "token为空"),
		NULL_USERNAME("14", "用户名为空"),
		NOT_LOGGED_IN("15", "用户未登录"),
		Find_INFO_ERROR("16", "查询信息异常"),
		Input_Para_ERROR("17","输入参数有误"),
		Send_Email_ERROR("18","邮箱发送失败");
		public String status;
		public String message;
		private Common(String status, String message) {
			this.status = status;
			this.message = message;
		}
	}

	/**
	 * 注册枚举：100-199
	 */
	public enum Register implements FrontStatusConstants {

		userIsHav("100","用户名已被占用"),
		uuidNull("101","前台传过来的uuid为空"),
		cacheUuidNull("102","缓存中uuid为空"),
		invitedNull("103","邀请码为空"),
		phoneNull("104","手机号为空"),
		userNameNull("105","用户名为空"),
		emailValidateNo("106","邮箱格式不正确"),
		userNotBindEmail("107","用户未绑定邮箱"),
		notUser("108","没有此用户"),
		decodIdNotNull("109","加密后的用户id不能为空"),
		userUseTempEmail("110","用户使用的是临时邮箱"),
		userUseAutherEmail("111","用户已认证邮箱"),
		REAL_NAME_NULL("123","姓名格式错误"),
		identityNo("124","身份证格式错误"),
		identityOtherUse("125","2分钟内不能重复操作"),
		userAuther("126","该用户已实名认证"),
		userPassNumber ("127","您已超过最大认证次数"),
		identityUser("128","此身份证号已被其他人使用"),
		userIsPhone ("129","手机号不能作为用户名"),
		userIsPhoneNo("130","您的手机号未注册"),
		userIdentityNot("131","身份证号码不匹配"),
		userForbid ("132","该账号已被锁定，请联系客服"),
		userEmailForbid("133","该邮箱已被占用"),
		emailNotRepeat ("134","5分钟内不能重复点击"),
		emailPageNot ("135","缓存中的邮箱链接已失效"),
		accountNumberLocked ("136","用户账号密码输错5次以上将被锁定3个小时"),
		userPhoneError ("137","此手机号不是用户正在使用的"),
		OVER_MESSAGE_TIMES("180","您已超过今日短信次数，请明天再试"),
		IMAGE_AUTH_CODE_ERROR("181","图片验证码输入有误"),
		ID_NUMBER_NULL("183","身份证号码为空"),
		PHONE_OLD_EQUALS_NEW ("184","新旧手机号相等"),
		ID_IS_NULL ("185","id不能为空"),
		SEND_TOO_FAST ("186","短信发送太快"),
		REGISTER_TIME_NULL("187","用户注册时间为空"),
		phoneNo("188","手机号码格式有误"),
		phoneIsExist ("189","您的手机号已被注册"),
		signCodeNull("190","输入的图形验证码为空"),
		cacheSignCodeNull("191","缓存中图形验证码为空"),
		phoneCodeNull ("192","输入的手机验证码为空"),
		cachePhoneCodeNull ("193","缓存中手机验证码为空"),
		phoneError ("194","手机验证码错误"),
		passwordNull ("195","密码不得为空"),
		passwordValidate("196","密码必须为8-16位数字和字母组合"),
		invitedValidate("197","输入的邀请码格式不正确"),
		userNameValidate("198","输入的用户名格式不正确"),
		userIsEmail("199","邮箱不能作为用户名");

		public String status;
		public String message;
		private Register(String status, String message) {
			this.status = status;
			this.message = message;
		}
	}

	/**
	 * 投资枚举：200-219
	 */
	public enum Invest implements FrontStatusConstants {

		User_not_fuiou("200","用户未开通金账户"),
		Yue_not_enough("201","投资金额大于账户可用余额"),
		Muji_not_enough("202","投资金额大于剩余募集金额"),
		Qitou_not_enough("203","投资金额小于起投金额"),
		Dizeng_not_right("204","投资金额不满足递增规则"),
		Danren_over_limit("205","投资金额超过单人单日投资限额"),
		Shouyi_not_same("206","预期收益与后台计算不一致") ,
		Project_not_record("207","该项目未在存管系统报备") ,
		Project_not_trading("208","该项目未在融资中状态") ;

		public String status;
		public String message;
		private Invest(String status, String message) {
			this.status = status;
			this.message = message;
		}
	}

	/**
	 * 富友枚举：300-399
	 */
	public enum GOLDACCOUT implements FrontStatusConstants {

		NOTREALNAME("301","用户未实名认证"),
		NOTOPENACCOUNT("302","未开通金账户"),
		Verify_frozen_false("303","验密冻结失败"),
		Un_frozen_false("304","解冻失败"),
		MONEYNOTCORRECT("305","金额输入不正确"),
		LOWCASHMONEY("306","低于最低提现金额的验证  手续费2块，最低提现3块"),
		NOTENOUGHMONEY("307","增加余额不足的"),
		Update_project_false("308","富友更新项目状态失败"),
		Invest_not_auth("309","用户投资未授权");

		public String status;
		public String message;
		private GOLDACCOUT(String status, String message) {
			this.status = status;
			this.message = message;
		}
	}

	/**
	 *
	 * 用户中心枚举：400-499
	 *
	 */
	public enum UserCenter implements FrontStatusConstants{

		NoUserInvestRecord("401","用户查询投资无记录"),
		NoUserInvestContract("402","用户查询投记录的合同不存在"),
		FindUserInvestError("402","用户查询投资出错");


		public String status;
		public String message;
		private UserCenter(String status, String message) {
			this.status = status;
			this.message = message;
		}
	}

}
